# 任务详情
# 下方的网页为微信公共号数据分析展示页，网页数量为1。

# 请根据网页给出的信息，完成以下任务，将右边的函数weixinData()补充完整。

# 给定原创排行榜里任一微信公众号的名称，请判断该公众号是否满足以下条件：

# 1.“头条平均阅读”数 > 90000

# 2.“原创平均阅读”数 > 80000

# 3.“预估活跃粉丝”数 < 300万

# 如果满足，函数weixinData()返回大写英文单词“YES”，否则返回“NO”。

# 任务要求
# 1. 函数接收str数据类型的微信公众号名称name

# 2. 函数返回为英文字符“YES”或“NO”，返回参数为str数据类型

# 3. 不得修改函数 weixinData() 的名称

# 4. 题目所需网站链接已经在下方给出，编码方式为UTF-8

# 测试用例
# 输入：“占豪”            输出：“NO”

# 输入：“Vista看天下” 输出：“YES”
# 
# 链接： http://72.itmc.org.cn:80/JS001/open/show/weixindata.html
# 
# # 1.运行或提交代码不需要自己编写测试用例，后台自动进行测试检查。
# 2.您编写代码的区域可以不限定在类或者函数体内，保证输入与输出符合任务要求即可。
# 3.点击“运行代码”按钮，可以查看程序设计是否正确，运行次数越多，任务得分越低。
# 4.点击“提交代码”按钮，系统将保存代码，并记录任务数据。
# 5.点击右上方“结束任务”按钮，系统将在后台计算任务得分，任务结束。
# -*- coding: utf-8 -*- 
import re

import requests
import bs4


class Solution:
    def weixinData(self, name: str) -> str:
        # 从此处开始编写代码
        url = 'http://72.itmc.org.cn:80/JS001/open/show/weixindata.html'
        res = requests.get(url)
        res.encoding = "utf-8"
        bs = bs4.BeautifulSoup(res.text, "html.parser")
        tbody = bs.find_all("tbody")[0]
        tr = tbody.find_all("tr")
        x1 = x2 = x3 = False
        for i in tr:
            span = i.find("span", "js-rank-detail-btn")
            if span.text == name:
                td = i.find_all("td")
                toutiao = td[4].text
                toutiao = toutiao.replace("万+", "0000")
                yuanchuang = td[7].text
                yuanchuang = yuanchuang.replace("万+", "0000")
                yugu = td[3].text
                yugu = yugu.replace("万", "")
                if int(toutiao) > 90000:
                    x1 = True
                if int(yuanchuang) > 80000:
                    x2 = True
                if float(yugu) < 300:
                    x3 = True
        if x1 and x2 and x3:
            return "YES"
        else:
            return "NO"
        # 请返回正确结果
        # 代码编写结束


print(Solution.weixinData(Solution, "Vista看天下"))
